home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group99a.txt
/
000167_icon-group-sender _Tue Jul 27 16:55:25 1999.msg
< prev
next >
Wrap
Internet Message Format
|
2000-09-20
|
2KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id QAA01509
for icon-group-addresses; Tue, 27 Jul 1999 16:54:55 -0700 (MST)
Message-Id: <199907272354.QAA01509@baskerville.CS.Arizona.EDU>
From: "Nevin Liber" <nevin@eviloverlord.com>
To: <icon-group@optima.CS.Arizona.EDU>
Cc: "Frank Lhota" <lhotaf@lexma.meitech.com>
Subject: Re: The Correct Basename Documentation
Date: Tue, 27 Jul 1999 18:32:31 -0500
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211
Errors-To: icon-group-errors@optima.CS.Arizona.EDU
Status: RO
>> A wise man once said, ``If you change the specification of a =
>> procedure, also change its name.''
> As a result, the right way to keep basename true to its name is too keep =
> its current behavior, that is, matching its Unix namesake.
I'm not sure this is the correct behavior (I'm not sure it isn't either).
Whenever someone makes a change to a public library or API, what that person
really has to weigh is how much of the installed base of code depends on the
previous buggy or unspecified behavior. While most would agree that it is a
bad idea to code to an implementation instead of an interface (can anyone
tell that I'm in the middle of reading Design Patterns? :-)), library
writers, OS implementers, etc., have to worry about the people who do code
to a specific, concrete implementation.
Just changing the documentation isn't enough; what you really have to do is
regression test any code that is dependent upon the particular routine you
are "improving". In practice, this can't be accomplished, because you
really don't know the entire user base of your library, so you have to
guess.
It isn't the new users of the function that worry me nearly as much as the
existing users of the function. Are people dependent on the previous
behavior?
__
Nevin ":-)" Liber <mailto:nevin@eviloverlord.com> (312) 855-1000 x199